1. Field of the Invention
The present invention relates to computing systems and application which generate log files and in particular to methods and structures for generating a parameterized, tokenized log file to ease multi-national language translation problems in multi-national computing environments.
2. Discussion of Related Art
Application of computing systems is growing rapidly and internationally. A single computing system or application, for example, may now need to concern itself with communicating to users in a plurality of languages. Or, for example, large networks of computing systems and associated distributed applications are commonly deployed internationally. Multi-national corporate or other entities may therefore require information generated in one locale of the distributed computing environment, using a first native language (e.g., English), to be understood by another user in a second locale using a second native language (e.g., French).
One common computing application which exemplifies such a multi-lingual requirement is the generation and viewing of log information within such computing systems and applications. It is common for example that an operating system maintains a variety of log files to allow a system manager to track certain activities, configurations, and performance. In like manner, application programs operable atop such operating systems may maintain their own log files to enable monitoring of that application's operations. Users of these log files may be geographically separated and linguistically diverse. For example, support engineers and technicians may review such log files to determine potential causes of computing problems related to the system or application. However, a specialist support technician (for example a regional or international expert in support of a particular system or application) may speak a different native language than the native language in which the log files are generated.
An undesirable solution to this multi-lingual computing problem is to simply adopt one language as a standard (e.g., English) and force users to manually (mentally) translate from the standard language to their preferred native language. For obvious reasons, this option is impractical.
Therefore, in a multi-lingual computing environment, designers and vendors of such operating systems and application programs need concern themselves with features which automate the translation of messages (including log messages) in to a local native language. This process is also referred to herein as "localization" of the system or program.
One approach to localization is to select a preferred local (native) language for the system or program at the time the system is installed and configured. The program designers therefore design their systems and applications such that messages generated thereby are adapted to the local native language at the time of installation. For example, a program or system installed and configured in Japan will be configured to generate messages (e.g., messages in log files) in Japanese while the same program installed in China will be configured to log messages in Chinese. In such systems, there may exist a plurality of message catalogs, one for each language. However, one such language is selected for configuration (localization) of each system. Log files are therefore written and viewed (or otherwise utilized) in the locally preferred native language of the system which generated the log messages. Specifically, a system or application generates a log message by looking up a desired message in the selected local catalog using a message index value. The system or application then writes the log message found in the catalog into the log file. Messages in the log file are therefore written in the locally preferred native language and are viewed or otherwise utilized in that local language.
However, if systems in a distributed computing environment select different localized configurations of the system or program, other nodes in the distributed environment will be unable to view the remote systems' log files. For example, an attempt by a user to view a log file from a system localized for Japanese on a system localized for Chinese will likely result in garbage information being displayed. The Japanese encoding of log messages does not correspond to the Chinese viewing capability of the local system.
A different aspect to program and system localization has been to utilize a large character code set (e.g., ISO 10646 Unicode) which includes characters for several local languages. Each local language is encoded as a subset of characters in such an extended character set. A local viewer of a remotely generated log file therefore has knowledge of which local language the log message was written in. This solution does not help the user perform the needed translation but rather serves merely to help the local user identify the translation required for the message. For example, a user of a Japanese localized system viewing a log message from a Chinese localized system will recognize that the log message is encoded from the Chinese subset of the internationally extended character set. With an appropriate viewer program, the Japanese user may view the remotely generated log message in its native language (e.g., Chinese) rather than viewing the remote message as garbage characters on the Japanese localized system. However, this approach does nothing to translate the remotely logged message into the preferred local native language (e.g., Japanese). The user is still required to manually translate the remotely logged message.
It is clear from the above discussion that it remains a problem to permit local review of remotely generated log messages in a locally preferred native language regardless of the remotely preferred native language.